// tools --- 工具

function $(selector) {
  return document.querySelectorAll(selector);
}

HTMLElement.prototype.show = function () {
  // this 表示调用者
  this.style.display = 'block';
}

HTMLElement.prototype.hide = function () {
  // this 表示调用者
  this.style.display = 'none';
}

NodeList.prototype.hover = function (fn1, fn2) {
  // this 表示调用这个方法的 对象
  // console.log(this);  // [li, li, li]
  for (let i = 0; i < this.length; i++) {
    // this[i].addEventListener('click', function () {}); // 这是通用的写法
    this[i].onmouseenter = function () {
      // console.log('hello'); // ???????
      // 事件内部，this表示事件源
      fn1.call(this);
    }
    this[i].onmouseleave = function () {
      // console.log('world'); // ????????
      fn2.call(this);
    }
  }
}
